package com.project.frame.common.model.sys;

import lombok.Data;

import java.util.*;

/**
 * desc
 *
 * @author lw007
 * @date 2021/12/23
 */
@Data
public class User implements java.io.Serializable{
    /**
     * unid
     */
    private Long id;
    /**
     * 所属部门
     */
    private String deptId;
    /**
     * 登录名
     */
    private String userName;
    /**
     * 姓名
     */
    private String name;

    /**
     * 姓名
     */
    private String realName;
    /**
     * 密码
     */
    private String password;
    /**
     * 手机
     */
    private String mobile;
    /**
     * 身份证
     */
    private String idCard;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 机构名称
     */
    private String deptName;
    /**
     * 用户状态
     */
    private String status;
    private Boolean rememberMe = false;
    /**
     * 所属角色名称
     */
    private String roleNames;
    /**
     * 所属角色unid
     */
    private String roleIds;
    /**
     * 保存用户扩展字段值
     */
    private Map<String, String> userExts = new HashMap<String, String>();

    Set<Role> roleSet = new HashSet<>();

    Set<Permission> permSet = new HashSet<>();

    List<String> btnPermList = new ArrayList<>();

    public void setRoleSet(Set<Role> roleSet){
        this.roleSet = roleSet;
        if(roleSet!=null && roleSet.size()>0){
            StringJoiner idJoin = new StringJoiner(",");
            StringJoiner nameJoin = new StringJoiner(",");
            for(Role r:roleSet){
                idJoin.add(""+r.getId());
                nameJoin.add(r.getName());
            }
            this.roleIds = idJoin.toString();
            this.roleNames = nameJoin.toString();
        }
    }

}
